﻿//小红拿到了一个只包含 'a', 'b', 'c' 三种字符的字符串。
//小红想知道，这个字符串最短的、长度超过 1 的回文子串的长度是多少？
//子串定义：字符串取一段连续的区间。例如"abcca"的子串有"ab"、"bcca"等，但"aca"则不是它的子串。
//回文的定义：一个字符串正着读和倒着读都是相同的，那么定义它的回文的。
//
//输入描述 :
//一个只包含 'a', 'b', 'c' 三种字符的字符串。
//数据范围：字符串长度不小于2，且不超过100
//
//输出描述 :
//如果不存在长度超过1的回文子串，则输出 - 1。
//否则输出长度超过1的最短回文子串的长度。

#include <iostream>
#include <string>
using namespace std;
string s;
int main()
{
	cin >> s;
	int ret = -1; // 有可能并没有回⽂串
	int n = s.size();

	for (int i = 0; i < n; i++)
	{
		if (i + 1 < n && s[i] == s[i + 1]) // 判断⻓度为 2 的⼦串
		{
			ret = 2;
			break;
		}
		if (i + 2 < n && s[i] == s[i + 2]) // 判断⻓度为 3 的⼦串
		{
			ret = 3;
		}
	}

	cout << ret << endl;

	return 0;
}








